#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
修复常见编码问题的脚本 - 简化版
"""

import os
import re
from pathlib import Path

def fix_encoding_issues(file_path):
    """修复文件中的编码问题"""
    try:
        # 读取文件内容
        with open(file_path, 'r', encoding='utf-8') as f:
            content = f.read()

        # 记录是否有修改
        original_content = content

        # 替换常见的全角符号为半角符号
        replacements = {
            '：': ':',  # 全角冒号 -> 半角冒号
            '，': ',',  # 全角逗号 -> 半角逗号
            '。': '.',  # 全角句号 -> 半角句号
            '！': '!',  # 全角感叹号 -> 半角感叹号
            '？': '?',  # 全角问号 -> 半角问号
            '（': '(',  # 全角左括号 -> 半角左括号
            '）': ')',  # 全角右括号 -> 半角右括号
        }

        # 执行替换
        for full_width, half_width in replacements.items():
            content = content.replace(full_width, half_width)

        # 如果内容有修改，写回文件
        if content != original_content:
            with open(file_path, 'w', encoding='utf-8') as f:
                f.write(content)
            print(f"Fixed: {file_path}")
            return True
        else:
            print(f"OK: {file_path}")
            return False

    except Exception as e:
        print(f"Error fixing {file_path}: {e}")
        return False

def main():
    """主函数"""
    print("Starting encoding fix...")

    # 要检查的关键文件
    key_files = [
        "endo_sight_uc_server/src/services/aiInferenceService.js",
        "endo_sight_uc_web/vite.config.ts",
        "start_system.bat"
    ]

    fixed_count = 0

    for file_path in key_files:
        if os.path.exists(file_path):
            if fix_encoding_issues(file_path):
                fixed_count += 1

    print(f"\nDone! Fixed {fixed_count} files.")

if __name__ == "__main__":
    main()